package com.yykj.prescription.client.dto;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yykj.common.util.serializer.LocalDate2LongSerializer;
import com.yykj.prescription.client.enums.PrescriptionType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Data
public class PrescriptionDetailDTO {
    @ApiModelProperty("处方ID")
    private String prescriptionId;

    @ApiModelProperty("医院ID")
    private Integer hospitalId;

    @ApiModelProperty("医生ID")
    private String doctorId;

    @ApiModelProperty("医生腾讯ID")
    private String doctorTencentId;

    @ApiModelProperty("医生腾讯ID")
    private String doctorName;

    @ApiModelProperty("用户ID")
    private String userId;

    @ApiModelProperty("就诊人ID")
    private String patientId;

    @ApiModelProperty("就诊人卡号")
    private String patientCardNo;

    @ApiModelProperty("就诊人名称")
    private String patientName;

    @ApiModelProperty("就诊人年龄")
    private String patientAge;

    @ApiModelProperty("就诊人性别")
    private String patientSex;

    @ApiModelProperty("就诊人科室Id")
    private Integer depId;

    @ApiModelProperty("就诊人科室")
    private String depName;

    @ApiModelProperty("处方来源,1：互联网医院")
    private Integer origin = 1;

    @ApiModelProperty("诉求")
    private String appeal;

    @ApiModelProperty("诊断及处理意见")
    private String conclusion;

    @ApiModelProperty("处方类型 west 西药方，china 中药方")
    private PrescriptionType type;

    @ApiModelProperty("处方当前状态：1未审核，2已审核，3已失效，4作废,5已流转")
    private Integer status;

    @ApiModelProperty("创建时间")
    @JsonSerialize(using = LocalDate2LongSerializer.class)
    private LocalDateTime addTime;

    @ApiModelProperty("处方审核时间")
    @JsonSerialize(using = LocalDate2LongSerializer.class)
    private LocalDateTime checkTime;

    @ApiModelProperty("处方失效时间")
    @JsonSerialize(using = LocalDate2LongSerializer.class)
    private LocalDateTime expireTime;

    @ApiModelProperty("处方作废时间")
    @JsonSerialize(using = LocalDate2LongSerializer.class)
    private LocalDateTime disableTime;

    @ApiModelProperty("处方相关人员")
    private List<PrescriptionMemberDTO> memberList;

    @ApiModelProperty("中药方用法用量等相关信息，当处方为中药方时，有值")
    private PrescriptionDrugChinaInfoDTO chinaUseInfo;

    @ApiModelProperty("中药处方需要输入地址信息")
    private String address;

    @ApiModelProperty("中药方药品明细，当处方为中药方时，有值")
    private List<PrescriptionDrugChinaDTO> chinaDrugList;

    @ApiModelProperty("西药方药品明细，当处方为西药时，有值")
    private List<PrescriptionDrugWestDTO>  westDrugList;


}
